
#ifndef STATESTATS_H
#define STATESTATS_H

#include "Singleton.h"
#include "GameState.h"

#include "RenderableEntity.h"
#include "TextEntity.h"
#include "TimeLineEffect.h"
#include "FadeEffect.h"
#include "MoveEffect.h"
#include "ScaleEffect.h"

class StateStats : public GameState, public Singleton<StateStats>
{
private:
    enum eStatsStates { Enter, Idle, Exit };
    
    eStatsStates m_eState;
    
    RenderableEntity* m_oBg;
    RenderableEntity* m_oTitleBg;
    TextEntity* m_oTitleText;
	
    RenderableEntity* m_oBabiesMaxIcon;
    RenderableEntity* m_oBabiesTotalIcon;
    RenderableEntity* m_oCoinsIcon;
    RenderableEntity* m_oCoinsTotalIcon;
    RenderableEntity* m_oCoinsSpentIcon;
    RenderableEntity* m_oGamesIcon;
    RenderableEntity* m_oPrizesIcon;
    RenderableEntity* m_oComboMaxIcon;
    
    TextEntity* m_tBabiesMax;
    TextEntity* m_tBabiesTotal;
    TextEntity* m_tCoins;
    TextEntity* m_tCoinsTotal;
    TextEntity* m_tCoinsSpent;
    TextEntity* m_tGames;
    TextEntity* m_tPrizes;
    TextEntity* m_tComboMax;

    TextEntity* m_tBabiesMax_value;
    TextEntity* m_tBabiesTotal_value;
    TextEntity* m_tCoins_value;
    TextEntity* m_tCoinsTotal_value;
    TextEntity* m_tCoinsSpent_value;
    TextEntity* m_tGames_value;
    TextEntity* m_tPrizes_value;
    TextEntity* m_tComboMax_value;

    RenderableEntity* m_oBack;

	TimeLineEffect* m_eEnter;
	TimeLineEffect* m_eExit;
        
public:
	StateStats();
	~StateStats();
	
	void loadContent();
	void unloadContent();
	void enter();
	void update(float dt);
	void render();
	void exit();
};

#endif
